// LD_Interface.h  
// 硬件串行SPI串行驱动

#ifndef __LD_INTERFACE_H
#define __LD_INTERFACE_H
#include  "stm32f10x.h"
#include  "bsp_usart.h"
/***********类型定义宏定义************/
#define uint8 unsigned char
#define uint16 unsigned int
#define uint32 unsigned long
/***********SPI相关时钟************/
#define     SPIx                     SPI1
#define     SPIx_APBxClock           RCC_APB2PeriphClockCmd
#define     SPIx_CLK                 RCC_APB2Periph_SPI1
/***********相关GPIO时钟和端口************/
#define     SPIx_GPIO_APBxClock      RCC_APB2PeriphClockCmd
#define     LD3320_GPIO_APBxClock    RCC_APB2PeriphClockCmd
#define     SPIx_GPIO_CLK     		 	 RCC_APB2Periph_GPIOA
#define     LD3320_GPIO_CLK          RCC_APB2Periph_GPIOB
#define	    SPIx_GPIO_PORT			 		 GPIOA//硬件SPI用到的GPIO端口
#define     LD3320_GPIO_PORT         GPIOB//LD3320用到的GPIO端口
/***********SPI相关Pin************/
#define     SPIx_CS_PIN       		 	 GPIO_Pin_4//SPI软件片选引脚(PA4)
#define     SPIx_SCK_PIN      		   GPIO_Pin_5//SPI时钟引脚(PA5)
#define     SPIx_MISO_PIN    		 	   GPIO_Pin_6//MCU_SPI输入引脚(PA6)
#define     SPIx_MOSI_PIN    		     GPIO_Pin_7//MCU_SPI输出引脚(PA7)
/***********LD3320相关Pin************/
#define     LD3320_RES_PIN  			   GPIO_Pin_15//复位PIN(PB15)
#define     LD3320_WR_PIN   			   GPIO_Pin_13//写允许PIN(PB13)
#define     LD3320_IT_PIN   			   GPIO_Pin_12//LD3320触发外部中断(PB12)

/***********电平输出宏定义************/
#define    LD3320_RES_HIGH()	GPIO_SetBits(LD3320_GPIO_PORT,LD3320_RES_PIN)
#define    LD3320_RES_LOW()		GPIO_ResetBits(LD3320_GPIO_PORT,LD3320_RES_PIN)

#define    LD3320_WR_HIGH()		GPIO_SetBits(LD3320_GPIO_PORT,LD3320_WR_PIN)
#define    LD3320_WR_LOW()		GPIO_ResetBits(LD3320_GPIO_PORT,LD3320_WR_PIN)

#define    SPIx_CS_HIGH()			GPIO_SetBits(SPIx_GPIO_PORT,SPIx_CS_PIN)
#define    SPIx_CS_LOW()			GPIO_ResetBits(SPIx_GPIO_PORT,SPIx_CS_PIN)

/*软件置位*/
#define    LD3320_IT_HIGH()		GPIO_SetBits(LD3320_GPIO_PORT,LD3320_IT_PIN)//清除LD3320中断标志位
/****************************************************************
函数名： LD3320_SPI_Config
功能：		硬件SPI初始化
参数：  	无
返回值：	无
****************************************************************/ 
void LD3320_SPI_Config(void);
/****************************************************************
函数名： LD3320_GPIO_config
功能：		除数据传输接口外的GPIO接口配置
参数：  	无
返回值：	无
****************************************************************/ 
void LD3320_GPIO_Config(void);
/****************************************************************
函数名： LD_WriteReg
功能：		写LD3320芯片的寄存器
参数：  	address, 8位无符号整数，地址
				dataout，8位无符号整数，要写入的数据
返回值：	无
****************************************************************/ 
void LD_WriteReg(unsigned char address, unsigned char dataout);

/****************************************************************
函数名： LD_ReadReg
功能：		读LD3320芯片的寄存器
参数：  	address, 8位无符号整数，地址
返回值：	8位无符号整数，读取的结果
****************************************************************/ 
uint8 LD_ReadReg(unsigned char address);

#endif
